Server, device, client, information processing method of server, information processing method of device, information processing method of client, information processing program, and memory medium

ABSTRACT

A server obtains an adaptivity of a selectable device for a device retrieval condition from a client and sends it to the client. The client presents the adaptivity to the user, thereby enabling the user to freely select a desired device among a plurality of devices which conform with the retrieval condition.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The invention relates to a network system in which a server, adevice, and a client communicate with each other through a predeterminedcommunication medium and execute data processes. More particularly, theinvention relates to the server, device, and client in the networksystem, a data processing method of the server, a data processing methodof the device, and a data processing method of the client.

[0003] 2. Related Background Art

[0004] Hitherto, a method called a directory service has been providedas a method whereby a computer of the user efficiently finds out anduses various resources (printer, server, scanner, and the like)connected to a network.

[0005] The directory service is, so to speak, a phone book regarding thenetwork and used for storing various information. As a specific exampleof a directory system using the directory service, for instance, thereis an LDAP (Light Weight Directory Access Protocol). The regulations ofthe LDAP have been disclosed in RFC (Request For Commits) 1777 as astandard issued by IETF (Internet Engineering Task Force).

[0006] As a manual of the LDAP, for example, “LDAP Internet DirectoryApplication Programming” has been issued by Plentice Hall Co., Ltd. onNov. 1, 1997.

[0007] A computer of the user retrieves the devices connected to, forexample, the network by using the directory service, so that it canobtain a list of network addresses of the devices which can be used onthe network.

SUMMARY OF THE INVENTION

[0008] In the above conventional method, however, when considering anetwork printer as an example, if various function conditions such as2-page printing mode (mode to print two pages onto one sheet of paper),OHP inserting mode, duplex mode, stapling, paper size, and the like aredesignated and a retrieval is performed, the function conditions andability information of the devices are compared, and only the devices inwhich they perfectly coincide are retrieved or inadaptivity items of thedevices in which they do not perfectly coincide are notified.

[0009] The invention is made to solve the above problem and it is anobject of the invention to provide a server, a client, a device, a dataprocessing method of the server, a data processing method of the client,a data processing method of the device, and a memory medium, in whichdevices connected to a network and ability information of device driversare combined and registered as abilities of the devices into the server,thereby presenting adaptivities of the selectable devices according to adevice retrieval condition from the client to the user, widening aselection range of the devices which can be selected by the user in thewhole system, and enabling the user to freely select a desired devicefrom a plurality of devices which conforms with the retrieval condition.

BRIEF DESCRIPTION OF THE DRAWINGS

[0010]FIG. 1 is a block diagram for explaining a construction of anetwork system to which a server, a client, and a device can be appliedand which shows an embodiment of the invention;

[0011]FIG. 2 is a diagram showing a specific construction of a networkon which a device retrieval system to which the network system shown inFIG. 1 can be applied can operate;

[0012]FIG. 3 is a schematic constructional block diagram showing aninternal construction of a general personal computer;

[0013]FIG. 4 is a diagram for explaining address information andattribute information of each of the devices which are managed by theserver shown in FIG. 2;

[0014]FIG. 5 is a diagram showing values which can be used as itemsserving as a retrieval condition in case of retrieving from the clientshown in FIG. 2;

[0015]FIG. 6 is a diagram showing a retrieval condition input screen incase of retrieving from the client shown in FIG. 2;

[0016]FIG. 7 is a diagram showing a retrieval condition input screen incase of retrieving from the client shown in FIG. 2;

[0017]FIG. 8 is a diagram showing an example of a format of data whichis sent and received among the server, client, and devices shown in FIG.2;

[0018]FIG. 9 is a diagram showing an example of ability information ofthe device which is managed by the server shown in FIG. 2;

[0019]FIG. 10 is a diagram showing ability information of a devicedriver which is managed by the server shown in FIG. 2;

[0020]FIG. 11 is a diagram showing ability information in which theability information possessed by the device shown in FIG. 1 and theability information of the device driver are combined;

[0021]FIG. 12 is a diagram showing an example of a format showingadaptivity results which are sent from the server to the client shown inFIG. 2;

[0022]FIG. 13 is a diagram showing an example of a retrieval resultinforming screen which is displayed to the client shown in FIG. 2;

[0023]FIG. 14 is a block diagram showing an internal construction of acolor printer shown in FIG. 2;

[0024]FIG. 15 is a flowchart showing an example of a first dataprocessing procedure in the device according to the invention;

[0025]FIG. 16 is a flowchart showing an example of a first dataprocessing procedure in the server according to the invention;

[0026]FIG. 17 is a flowchart showing an example of a second dataprocessing procedure in the server according to the invention;

[0027]FIG. 18 is a flowchart showing an example of a third dataprocessing procedure in the server according to the invention;

[0028]FIG. 19 is a flowchart showing an example of a first dataprocessing procedure in the client according to the invention;

[0029]FIG. 20 is a flowchart showing an example of a second dataprocessing procedure in the device according to the invention;

[0030]FIG. 21 is a flowchart showing an example of a second dataprocessing procedure in the client according to the invention;

[0031]FIG. 22 is a diagram for explaining a memory map of a memorymedium for storing various control programs according to the invention;

[0032]FIG. 23 is a flowchart showing an example of a device driverretrieval processing procedure in the server and a client terminalapparatus according to the invention; and

[0033]FIG. 24 is a diagram for explaining a memory map of a memorymedium for storing various data processing programs which can be readout by a network system including the server, client, device, and thelike according to the invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0034] An explanation will now be made hereinbelow with respect to anembodiment of a server, a client, and a device on a network, a deviceretrieval system (network system comprising the server, client, anddevice), a data processing method of the server, a data processingmethod of the client, a data processing method of the device, and amemory medium according to the invention with reference to the drawings.

[0035]FIG. 1 is a block diagram for explaining a construction of thenetwork system which is realized by the server, client, and device andshows an embodiment of the invention.

[0036] In FIG. 1, a server 10 which functions as a retrieval server, aclient 20, and a device 30 are connected to a network 40 such asEthernet, USB, or the like, thereby constructing the network system. Thedevice 30 is, for example, an information processing apparatus such asprinter, facsimile, scanner, or the like and, usually, a plurality ofdevices 30 are connected.

[0037] In the embodiment, a workstation is used as a server 10 and has:a manager 11; a memory 11 a for performing an arithmetic operation andstoring information; a retrieval unit 12; a receiver 13; a transmitter14; an ability information table 15; and a device driver storage 16.

[0038] The manager 11 manages devices connected to the network 40 by theability information table 15 in which connection information and abilityinformation of the device 30 have been stored, manages a device driverof the connected device, and downloads the device driver in response toa request from the client. Further, when an inquiry regarding theability information of the device driver is received from the device 30,the manager 11 returns the ability information of the device driver.

[0039] The device driver is a program which is executed by the serverand client and is used for controlling the device. For example, aprinter driver as an example of the device driver receives document datafrom a document generating program or a graphics forming program whichis executed by the client and converts the document data into print datawhich can be processed by the device. If a printer does not have an N-upprinting function, the printer driver generates print data so that Npages of the document data are allocated to one page of the print data.

[0040] The receiver 13 receives a retrieval request from the client 20.The retrieval unit 12 compares the retrieval request received by thereceiver 13 with the ability information of each device connected to thenetwork 40 through the ability information table 15, thereby calculatingan adaptivity between each device and the retrieval condition. Theadaptivity is sent through the transmitter 14 to the client 20 or thelike to which the retrieval request has been issued.

[0041] The ability information of each device connected to the network40 has been stored in the ability information table 15 at the time ofconnection of the device or the turn-on of a power source. When theability information is changed due to the updating of the device driver,it is also restored.

[0042] The device driver storage 16 stores the driver of the deviceconnected to the network 40 as necessary. By previously storing thedevice driver into the server 10, a service for presenting the driver inthe case where the client 20 does not have the driver of the adapteddevice 30 can be performed.

[0043] A personal computer is used as a client 20 and has: a retrievalrequest unit 21; a manager 22; a device driver storage 23; a displaycontroller 24; and a display 25.

[0044] In the client 20, the retrieval request unit 21 requests theserver 10 to retrieve all of the devices which can be used on thenetwork 40 including the device 30.

[0045] The manager 22 holds a result of the retrieval request. Whenresults regarding all of the devices are obtained, the manager 22notifies the display controller 24 of them. When an inquiry about theability information of the device driver is received from the device 30,the manager 22 returns the ability information of the driver.

[0046] The device driver storage 23 is means for storing the driver forusing the device connected to the network 40. The display controller 24sequentially displays adaptivity results onto a screen of the display 25in the order from the high adaptivity on the basis of the adaptivityresults notified from the manager 22.

[0047] The device 30 has a device driver storage 31, a manager 32, andan ability information table generator 33. When the device 30 isconnected to the network 40, the ability information table is sent tothe server 10.

[0048] In the device 30, the manager 32 updates the device driver andsends the ability information table to the server 10. It will beobviously understood that they can be integratedly constructed by a CPU,an MPU, a memory, and the like.

[0049] The ability information table generator 33 obtains the sum of theability information of the device 30 and the ability information of thedevice driver at the time of power-on, thereby generating an abilityinformation table.

[0050] When no device driver exists in the device 30, whether the driverof the device 30 exists in the server 10 or client 20 or not isconfirmed. If it exists, the ability information is obtained and anability information table is generated on the basis of the obtainedability information and the ability information of the device 30.

[0051] Each function of a device retrieval system of the embodimentconstructed as mentioned above will now be described in detailhereinbelow.

[0052]FIG. 2 is a diagram showing a specific construction of a networkon which the device retrieval system to which the network system shownin FIG. 1 has been applied can operate.

[0053] In FIG. 2, reference numeral 213 denotes a color printer (colorLBP); 214 an MFP (Multi Function Peripheral; although it is a copymachine, it can be used also as a network color printer, a scanner, or afacsimile); and 215 a monochromatic printer.

[0054] Reference numeral 211 denotes a desktop PC (client). It is a PC(personal computer) which can execute a program of a network client. Thedesktop PC 211 is connected to a network 200 as a client mentionedabove. As will be explained hereinlater, the desktop PC 211 has not onlya function for issuing inquiry information regarding the device whichsatisfies desired conditions to the server connected on the network 200but also a function for displaying retrieval results.

[0055] Reference numeral 210 denotes a workstation (WS) which canexecute a program of the network server in the embodiment. Theworkstation (WS) 210 is connected as a server mentioned above to thenetwork 200. As will be explained hereinlater, various informationregarding the network devices 213 to 215 has been stored in the WS 210.The WS 210 has a function for receiving a device retrieval inquiry fromthe client 211 connected to the network 200 and returning its result.

[0056]FIG. 3 is a schematic constructional diagram showing an internalconstruction of a general personal computer. A fundamental internalconstruction of each of the desktop PC 211, server 210, and the like inFIG. 2 is as shown in the diagram.

[0057] In FIG. 3, reference numeral 300 denotes a PC or WS on whichclient software or network server software (hereinafter, they arecollectively called network device retrieval software) operates. ThePC/WS 300 is substantially equivalent to the desktop PC 211 or server210 in FIG. 2.

[0058] The PC 300 has a CPU 302 for executing the network deviceretrieval software which has been stored in an ROM 303 or a hard disk(HD) 311 or is supplied from a floppy disk controller (FDC) 312. The PC300 integratedly controls the devices connected to a system bus 301.

[0059] Reference numeral 304 denotes an RAM which functions as a mainmemory, a work area, or the like of the CPU 302; 305 a keyboardcontroller (KBC) for controlling an input of an instruction from akeyboard (KB) 309; and 306 a CRT controller (CRTC) for controlling adisplay of a CRT display (CRT) 310.

[0060] Reference numeral 307 denotes a disk controller (DKC) forcontrolling accesses to the hard disk (HD) 311 for storing a bootprogram, various applications, an edit file, a user file, a networkmanagement program, and the like and to the floppy disk controller (FDC)312.

[0061] Reference numeral 308 denotes a network interface card (NIC) forbidirectionally transmitting and receiving data to/from a networkprinter, another network apparatus, or another PC through an LAN 320.

[0062] Reference numeral 313 denotes a mouse controller (MC) forcontrolling a mouse (MS) 314. In the embodiment, the LAN 320 correspondsto the LAN 200 in FIG. 2.

[0063]FIG. 14 is a block diagram showing an internal construction of thecolor LBP 213 shown in FIG. 2.

[0064] As shown in FIG. 14, in the color LBP 213, a CPU 1402 forprocessing a program, an ROM 1403 in which the program has been stored,and an RAM 1404 serving as a work area or a buffer area of the programare connected to a system bus 1401.

[0065] Reference numeral 1405 denotes an LBP engine controller (EC). Anengine (LBP Engine) 1409 is connected through the controller 1405.Reference numeral 1406 denotes a panel controller (PLC) for controllinginput/output to/from a panel (PAENL) 1410 and managing the panel 1410.

[0066] The color LBP 213 in the embodiment has a hard disk (HD) 1411 andcan temporarily spool print data into the hard disk (HD) 1411, therebymaking it possible to cope with a jobcopy.

[0067] Reference numeral 1407 denotes a disk controller for managing theHD 1411, and 1408 indicates a network interface controller (NIC). Thecolor LBP is connected to the network 320 through the NIC 1408.

[0068] Reference numeral 1412 denotes a non-volatile RAM (NVRAM) whichcan hold data even if a power source of the printer 213 is turned off.In the embodiment, although layer type position information, attributeinformation, and the like are held in the NVRAM 1412, those informationcan be also held in the HD 1411 instead of the NVRAM 1412.

[0069]FIG. 4 is a diagram for explaining address information andattribute information of each device which is managed by the server 210shown in FIG. 2. In the embodiment, the address information, attributeinformation, and the like of each device are totally called deviceinformation and, further, it is assumed that data which can be managedis included as necessary.

[0070] As shown in FIG. 4, in the embodiment, three devices are managedin total. In each device, information such as device name (NM) 401, IPaddress (ADD) 402 as a network address of the device, and kind of device(DV) 403 is managed. For example, in case of the device whose name is“LBP1110”, the IP address is “111.22.33.44” and the kind of device is“printer”.

[0071]FIG. 5 is a diagram showing values which can be used every itemserving as a retrieval condition in case of retrieving from the client211 shown in FIG. 2. For example, in an item 502, whether a duplex printis designated (ON) or not (OFF) can be selected. In an item 503, one ofa 2-up print (two pages are printed onto one sheet of paper), a 4-upprint (four pages are printed onto one sheet of paper), and a 6-up print(six pages are printed onto one sheet of paper) can be designated. In anitem 504, how many jobs are copied can be designated. In an item 505,how many pages are copied can be designated. In an item 506, whether anOHP insertion print is designated (ON) or not (OFF) can be selected. Inan item 507, a resolution can be designated. In an item 508, the numberof pages can be designated. In an item 509, one of the paper sizes A5,A4, and A3 can be designated.

[0072] In the client 211, the user can input a retrieval condition in aset range with respect to the items 502 to 509.

[0073]FIGS. 6 and 7 are diagrams each showing a retrieval conditioninput screen in case of retrieving from the client 211 shown in FIG. 2.

[0074] In FIG. 6, entries of retrieval are inputted into items 601 a,601 b, 601 c, and 601 d, and conditions corresponding to the entries areinputted into items 602 a, 602 b, 602 c, and 602 d.

[0075] The entries are different depending on the devices. The userselects the attribute information to be retrieved from the entries. Theembodiment relates to a printer as shown in FIG. 5. For example, theitems 502 to 509 of a retrieval condition 501 are inputted into theitems 601 a to 601 d and their values are inputted into the items 602 ato 602 d. After the retrieval condition was inputted, the user presses aretrieval start button 603. Although four items can be inputted perscreen in the embodiment, all of the items in the retrieval condition501 can be inputted by a next page button 604.

[0076]FIG. 7 shows an example of a retrieval input. In this example, thedevice in which, as attribute information, the device can be set to“printer”, page print designation (N-up) can be set to “4”, the jobcopyNo. (JOB-COPY) can be set to “10”, and the pagecopy No. (page-copy) canbe set to “2” is retrieved.

[0077] Although not shown in FIG. 7, each item of the retrievalcondition can be also set as follows. For example, duplex indicatesboth-sides, the paper size is set to A4, the resolution is set to 600dpi, the number of pages is set to 50, and the like. Thus, the device inwhich the duplex print can be performed, the print can be performed tothe paper of the A4 size, and the resolution is equal to 600 dpi isretrieved.

[0078]FIG. 8 is a diagram showing an example of a format of data whichis sent and received among the server 210, client 211, and devices 213to 215 shown in FIG. 2.

[0079] In the diagram, reference numeral 801 denotes an example of aformat for allowing the client 211 to inquire of the server 210 aboutthe retrieval condition shown in FIG. 7. When the data is transferredfrom the client 211 to the server 210, the retrieval is performed. Theformat 801 in FIG. 8 corresponds to a case where the device DV is“printer”, the duplex print is “ON (duplex is designated)”, the N-upprint is “4-page print”, JOBcopy is “10”, Pagecopy is “2”, the papersize is “A4”, and the OHP insertion mode resolution is “600 dpi”.

[0080] Reference numeral 802 denotes an example of a format for allowingthe client 211 to obtain the device information from the server 210. Thedata is transferred from the client 211 to the server 210. For example,Dev=status indicates that the statuses of the devices 213 to 215 arerequested. In response to this request, the server 210 returns thestatus such as ready, off-line, printing, or the like of each device.Dev=error indicates a conformation request to discriminate whether thedevice is in an error status or not. In response to this request, theserver 210 returns factors of errors.

[0081] Reference numeral 803 shows an example of a format for allowingthe devices 213 to 215 to identify the presence or absence of the devicedriver and the ability information to the server 210 and client 211. Thedata is transferred from the device to the server 210 or from the deviceto the client 211. Driver=LBP1110 is used for asking the presence orabsence of the driver of the LBP 1110. Info=driverLBP1110 is used forrequesting for the ability information of the device driver of the LBP1110.

[0082]FIG. 9 is a diagram showing an example of ability information of acertain device which is managed by the server 210 shown in FIG. 2.

[0083] In the diagram, ability information has been set for each ofitems 1101 to 1107. Each item shows as follows. That is, as an item1101, duplex is “available”. As an item 1102, N-up print is“unavailable”. As an item 1103, JOBcopy is available to “10”. As an item1104, Pagecopy is available to “999”. As an item 1105, paper size is“only A4”. As an item 1106, OHP insertion is “unavailable”. As an item1107, resolution is “both 600/300 dpi are available”.

[0084]FIG. 10 is a diagram showing ability information of a certaindevice driver which is managed by the server 210 shown in FIG. 2. Thesame component elements as those in FIG. 9 are designated by the samereference numerals.

[0085] In the diagram, ability information has been set for each of theitems 1101 to 1107. For example, as an item 1101, duplex is“unavailable”. As an item 1102, N-up print is “available”. As an item1103, JOBcopy is “available”. As an item 1104, Pagecopy is “available”.As an item 1105, paper size is “only A4”. As an item 1106, OHP insertionis “available”. As an item 1107, resolution is “both 600/300 dpi areavailable”.

[0086]FIG. 11 is a diagram showing ability information in which theability information possessed by a certain device and the abilityinformation of the device driver of such a device are combined. Theability information in FIG. 11 is based on the ability information inFIG. 9 and the ability information in FIG. 10. The ability informationin FIG. 11 is managed in the ability information table 15.

[0087] In the diagram, the ability information has been set for each ofthe items 1101 to 1108. As an item 1101, duplex print is “available”. Asan item 1102, N-up print is “available” by the driver. As an item 1103,JOBcopy is available to “10” by the device. As an item 1104, Pagecopy isavailable to “999”. As an item 1105, paper size is “only A4”. As an item1106, OHP insertion is “available” by the driver. As an item 1107,resolution is “both 600/300 dpi are available”. As an item 1108, erroris “no”.

[0088]FIG. 12 is a diagram showing an example of a format indicative ofadaptivity results which are sent from the server 210 to the client 211shown in FIG. 2. The diagram shows a format indicative of the adaptivityresults which are sent from the server 210 to the client 211 as a resultof the retrieval. The data indicates the adaptivity in a certain deviceand is transferred from the server 210 to the client 211.

[0089] In the diagram, reference numeral 1201 denotes an adaptivity and1202 denotes extended information (EXTEND). Driver correspondence items,error information which is presumed, or the device status is stored inthe EXTEND. Reference numeral 1203 denotes a type of EXTEND. Forexample, “D” indicates a driver adaptivity item, “E” shows aninadaptivity item, and “W” shows an error status.

[0090] In FIG. 12, a state where all of eight retrieval items areadaptive. A state where the 4-up print and the OHP insertion areexecuted in accordance with the ability of the device driver is shown.

[0091]FIG. 13 is a diagram showing an example of a retrieval resultnotification screen which is displayed to the client 211 shown in FIG.2. A case where it is displayed as a bit map to the client 211 as aretrieval result based on the retrieval condition is shown.

[0092] In FIG. 13, reference numerals 1301 a to 1301 c denote names ofthe devices; 1302 a to 1302 c indicate adaptivities and extendedinformation (EXTEND) in the devices. The inadaptivity items, errorinformation, or device status is stored in the EXTEND. By this display,the adaptivities of the devices are sequentially displayed in the orderfrom the high adaptivity and the user can understand which device shouldbe selected.

[0093] In the embodiment, it will be understood that the adaptivity ofthe LBP 1110 corresponding to the name 1301 a of the device is “100” andthere are two driver adaptivity items of the printing function of “4pages” and “OHP insertion”. That is, the 4-up print and the OHPinsertion print are possible by using the device driver of the LBP 1110.

[0094] In an MFP 6550 corresponding to the name 1301 b of the device,the adaptivity is “90” and a fact that the inadaptivity item is “duplex”is shown in the EXTEND. In an LBP 3310 corresponding to the name 1301 cof the device, it is shown that the adaptivity is “60” and theoccurrence of “jam” is shown in the EXTEND.

[0095] The embodiment shows a case where the EXTEND is displayed in theorder of error, inadaptivity item, and driver adaptivity item.

[0096] The embodiment will now be described in detail hereinbelow withreference to flowcharts shown in FIGS. 15 to 20.

[0097] A registering process for registering into the server by thedevice will be first explained with reference to the flowchart of FIG.15.

[0098]FIG. 15 is the flowchart showing an example of the first dataprocessing procedure in the device according to the invention. A programbased on the flowchart has been stored in the HD 1411 or RAM 1404 inFIG. 14 and is executed by the CPU 1402 in FIG. 14. S1501 to S1504denote processing steps. The color printer 213 (name: LBP1110) shown inFIG. 2 will now be described as an example.

[0099] It is assumed that according to the LBP 1110, the non-volatileRAM 1412 as self information holding means in the device holds thereinposition information, a device name, device type name information, andan IP address (hereinafter, attribute information).

[0100] When a power source is turned on, the CPU 1402 of the LBP 1110connects the LBP to the server 210 (step S1501). After the connection,the LBP 1110 reads out the position information and attributeinformation from the NVRAM 1412 and sends them to the server 210. Theserver registers those device information into the manager 11 shown inFIG. 1 in the format as shown in FIG. 4.

[0101] Subsequently, the CPU retrieves the device driver and if thedriver exists in the device, the ability information is obtained fromthe device driver in the device. The device driver is subsequentlyretrieved and if it does not exist in the device, the CPU communicateswith the device driver in the server 210 or client 211 by using a format803, thereby obtaining the ability information (refer to FIG. 10) of thedevice driver. Further, the ability information table shown in FIG. 11is generated by obtaining the sum of the ability information of thedevice and the ability information of the device driver (step S1503).

[0102] The device itself has obtained the sum of the ability informationof the device and the ability information of the device driver here.However, it is also possible to construct the system in a manner suchthat the device sends the ability information of the device and theability information of the device driver to the server 210 and theserver 210 obtains the sum of the ability information of the device andthe ability information of the device driver and registers the sum intothe ability information table 15.

[0103] After the generated ability information table is sent to theserver 210, the CPU 1402 of the LBP 1110 releases the connection to theserver 210 (step S1504) and finishes the processes.

[0104] The ability information table is managed by the manager 11 andreferred to by the retrieval unit 12. In the embodiment, the server 210also adds the status of the device to the information obtained from thedevice, thereby generating the ability information table 15. Byexecuting such a procedure, each device registers the positioninformation, attribute information, and ability information table intothe server 210 after the power-on. Naturally, a procedure similar tothat mentioned above is also executed in the case where the updating ofthe device driver occurs.

[0105] Subsequently, processes of the server 210 will be described withreference to the flowchart of FIG. 16.

[0106]FIG. 16 is the flowchart showing an example of the first dataprocessing procedure in the server according to the invention. A programbased on this flowchart has been stored in the HD 311 or RAM 304 in FIG.3 and is executed by the CPU 302 in FIG. 3. S1601 to S1609 denoteprocessing steps.

[0107] The server 210 is constructed by an event driving type program.When an event is generated, the server analyzes the event and executesprocesses corresponding thereto.

[0108] When the power source is turned on or the event is generated, theserver 210 first opens a reception port (step S1601). Subsequently, theserver obtains the event (step S1602) and discriminates whether theobtained event is an end command or not (step S1603). As a result of thediscrimination, if it is determined that the obtained event is the endcommand, the reception port is closed (step S1604).

[0109] If it is decided that the obtained event is not the end commandas a result of the discrimination in step S1603, whether it is aretrieval request or not is discriminated (step S1605). If it isdetermined that the received event is the retrieval request, a retrievalprocess is performed in step S1606 and the processing routine isreturned to step S1602.

[0110] If it is decided that the obtained event is not the retrievalrequest as a result of the discrimination in step S1605, whether theobtained event is a registration request for registering the data intothe database or not is discriminated in step S1607. If it is determinedthat the event is the registration request as a result of thediscrimination, the received data is registered into a table 400 shownin FIG. 4 (step S1608).

[0111] The table 400 in which the received data has been registered isheld in the HD in the server 210. In case of registering the abilityinformation, the table is held in the HD 311 and managed by the abilityinformation table 15.

[0112] Also in case of registering the device driver, the table is heldin the HD 311 and managed by the device driver storage 16.

[0113] If it is determined that the event is another request as a resultof the discrimination in step S1607, other processes are executed (stepS1609) and the processes are finished.

[0114] As other processes, there are an inquiry about a location of thedevice driver and an inquiry about the ability information of the devicedriver.

[0115]FIG. 17 is the flowchart showing an example of the second dataprocessing procedure in the server according to the invention. A programbased on the flowchart has been stored in the HD 311 or RAM 304 in FIG.3 and is executed by the CPU 302 in FIG. 3. S1701 to S1710 denoteprocessing steps. As described in FIG. 16, the server 210 is constructedby an event driving type program. When an event is generated, the serveranalyzes the event and executes processes corresponding thereto.

[0116] When the power source is turned on or when an event is generated,the server 210 first opens the reception port (step S1701).Subsequently, the server obtains the event (step S1702) anddiscriminates whether the obtained event is the end command or not (stepS1703). If it is determined that the obtained event is the end commandas a result of the discrimination, the server closes the reception port(step S1704) and finishes the processes.

[0117] If it is decided that the event is not the end command as aresult of the discrimination in step S1703, whether the event is theretrieval request for retrieving the device driver or not isdiscriminated (step S1705). If it is determined that the event is theretrieval request, the retrieval process is executed in the devicedriver registered from the device driver storage 16 in step S1706 and aresult of the retrieval process is sent to the device 30. The processesare finished.

[0118] If it is determined in step S1705 that the event is not theretrieval request of the device driver, whether the event is the abilityinformation request of the device driver or not is discriminated in stepS1707. If it is decided that the event is the ability informationrequest, the ability information of the device driver (refer to FIG. 10)is obtained from the device driver storage 16 in step S1708. In stepS1709, the obtained ability information is sent to the device (forexample, device 30) on the requesting source side. The processes arefinished.

[0119] If it is determined in step S1707 that the event is not theability information request, processes corresponding to the request areexecuted as other processes in step S1710. The processes are finished.

[0120] The retrieval process in step S1606 which is executed by theserver 210 will be described in detail with reference to FIG. 18.

[0121]FIG. 18 is a flowchart showing an example of the third dataprocessing procedure in the server according to the invention. A programbased on the flowchart has been stored in the HD 311 or RAM 304 in FIG.3 and is executed by the CPU 302 in FIG. 3. S1801 to S1806 denoteprocessing steps.

[0122] In the retrieval process, the retrieval condition set by theclient is extracted from a received packet in step S1801. In step S1802,by sending data in the format 802 shown in FIG. 8 to the device 30, thecurrent status of the device is obtained and stored into the abilityinformation table 15. In the embodiment, the device status and errorstatus correspond.

[0123] Subsequently, in step S1803, the ability information table 15 iscompared with the retrieval condition, thereby obtaining an adaptivity.For example, adaptivity results of the items shown in FIG. 8 and the LBP1110 will now be described.

[0124] The LBP 1110 has the ability shown in FIG. 9. The device driverof the LBP 1110 has the ability shown in FIG. 10. The sum of bothabilities is stored into the ability information table shown in FIG. 11.In step S1802, the current status of the device is also updated.

[0125] When comparing with respect to the items of the retrievalcondition shown in FIG. 8, DV=printer is “adaptive” with reference tothe information 403 shown in FIG. 4, duplex=ON is “available” withreference to the item 1101, N-up is “available by the driver” withreference to the item 1102, JOBcopy is “available” because it isavailable to “10” by the device with reference to the item 1103,Pagecopy is “available” to “999” for “2” with reference to the item1104, size is “available” because it is “A4” with reference to the item1105, OHP=insert is “available by the driver” with reference to the item1106, and resolution is “available” because “both 300/600 dpi areavailable” with reference to the item 1107, respectively.

[0126] It will be understood that status is “usable status” becauseerror is “NO” by confirming whether the status is “ready” or not withreference to the item 1108.

[0127] The client 20 is notified of the adaptivity of the device and thedevice status by using the format shown in FIG. 12 in step S1804 shownin FIG. 18. Since eight items coincide with the eight items requestedfrom the client 20, the adaptivity is set to “100” % and stored into theadaptivity 1201 shown in FIG. 12. The adaptivity item “4-page print” bythe driver, and the OHP insertion are inputted into the extendedinformation (EXTEND) 1202. As a type of EXTEND 1203, “D” as a devicedriver adaptivity item is inputted.

[0128] When a jam occurs, “jam” is stored into the extended information(EXTEND) 1202.

[0129] Whether the adaptivity results of all devices have been obtainedor not is discriminated in step S1805. If it is determined that all ofthe adaptivity results are not obtained yet, the information of the nextdevice is extracted from the table in FIG. 4 in step S1806. Theprocessing routine is returned to step S1802. If the adaptivity resultsof all of the devices are obtained, that is, the transmission of them toall devices is completed, the processes are finished.

[0130] Subsequently, the whole operation in the client 211 will bedescribed.

[0131]FIG. 19 is a flowchart showing an example of the first dataprocessing procedure in the client 211 according to the invention. Aprogram based on the flowchart has been stored in the HD 311 or RAM 304in FIG. 3 and is executed by the CPU 302 in FIG. 3. S1901 to S1907denote processing steps. The client 211 is constructed by an eventdriving type program. When an event is generated, the client analyzesthe event and executes processes corresponding thereto.

[0132] As shown in the flowchart of FIG. 19, the client 211 obtains theevent in first step S1901. When the event of the end command is receivedin step S1902, the processes are finished as they are.

[0133] If it is determined in step S1902 that the event is not the endcommand, for example, the client 211 inputs the retrieval condition fromthe user with reference to the retrieval condition input screen as shownin FIG. 7. The event is generated when the user clicks a retrieval startbutton 703.

[0134] If it is determined in step S1903 that the event is a request forissuing the retrieval command as mentioned above, the client 211 sendsthe retrieval request to the server 210 (step S1904).

[0135] In this instance, the server 210 is inquired on the basis of theretrieval condition shown in FIG. 8. By storing the retrieval conditiononto the HD 311, a reinput of the retrieval condition from the user canbe omitted by using the retrieval condition at the time of the nextretrieval.

[0136] If it is decided in step S1903 that the event is not theretrieval command issuance, the client 211 waits for the retrievalresult from the server 210. When the event is received, whether theretrieval result has been received or not is discriminated in stepS1905. If it is decided that the retrieval result has been received, forexample, when the adaptivity results as shown in FIG. 12 are received, aprocess for displaying the adaptivity results is executed (step S1906).The processing routine is returned to step S1901.

[0137] If it is determined in step S1905 that no retrieval result isreceived, other processes are executed for other events (step S1907).The processing routine is returned to step S1901.

[0138] Although there are the retrieval request of the device driver andthe ability information request of the device driver as other events,the processes shown in FIG. 17 corresponding to those requests areexecuted in a manner similar to those for the server. Naturally, theserver 210 is replaced with the client 211.

[0139] The operation of the device 213 will now be described in detailwith reference to a flowchart of FIG. 20.

[0140]FIG. 20 is the flowchart showing an example of the second dataprocessing procedure in the device according to the invention. A programbased on the flowchart has been stored in the HD 1411 or RAM 1404 inFIG. 14 and is executed by the CPU 1402 in FIG. 14. S2001 to S2005denote processing steps.

[0141] First, the data is received from the server 210 in step S2001. Instep S2002, the data is analyzed and whether it is a request command forthe current device status (retrieval condition 802 shown in FIG. 8) ornot is discriminated. If NO, processes corresponding to the command areexecuted in step S2003 and step S2005 follows.

[0142] If it is decided in step S2002 that the data is a request commandfor the device status, the information according to the item of therequest command is obtained in step S2004. Specifically speaking, theerror information and the device status (printing, offline, etc.) areobtained.

[0143] Subsequently, the device status is sent to the server 210 in stepS2005 and the processes are finished.

[0144] A process for displaying the retrieval results of the client 211will be finally explained further in detail with reference to aflowchart of FIG. 21.

[0145]FIG. 21 is a flowchart showing an example of the second dataprocessing procedure in the client according to the invention. A programbased on the flowchart has been stored in the HD 311 or RAM 304 in FIG.3 and is executed by the CPU 302 in FIG. 3. S2101 to S2104 denoteprocessing steps.

[0146] In first step S2101, the adaptivity results of the devices whichare sent from the server 210 are received. The adaptivity results are asshown in FIG. 13.

[0147] In next step S2102, whether the processes of the adaptivityresults of all devices have been completed or not is discriminated. Ifit is determined that they are not yet completed as a result of thediscrimination, the processing routine is returned to step S2101 and theadaptivities are received.

[0148] In step S2102, if it is decided that all processes have beenfinished, step S2103 follows. The received adaptivity results are sortedin the order from the high adaptivity, thereby deciding the displayorder. In step S2104, the device names 1301 a to 1301 c for the devicesare displayed with reference to the information 401, the adaptivities,the items serving as extended information 1302 a to 1302 c, and theother information are displayed for all devices.

[0149] The device control program on the network according to theinvention described above can be executed by a personal computer inaccordance with a program which is installed from the outside. In thiscase, the invention is also applied to a case where the program isobtained from a memory medium such as CD-ROM, flash memory, floppy disk,or the like or an information group including the program is loaded ontothe personal computer from an external memory medium through a networksuch as Email, personal computer communication, or the like, so that theprogram is supplied to the personal computer.

[0150]FIG. 22 is a diagram for explaining a memory map of a memorymedium for storing various control programs according to the inventionand shows a case where the memory medium is, for example, a CD-ROM.

[0151] In FIG. 22, reference numeral 9999 denotes an area in whichdirectory information has been stored. The directory informationindicates a location of a subsequent area 9998 in which an installationprogram has been stored and a location of an area 9997 in which thenetwork device control program has been stored.

[0152] When the network device control program of the invention isinstalled into the personal computer such as a client 211 or the like,first, the installation program stored in the area 9998 is loaded intothe system and executed by the CPU of the personal computer.

[0153] Subsequently, the installation program which is executed by theCPU of the personal computer reads out the network device controlprogram from the area 9997 in which the network device control programhas been stored and stores it onto the hard disk in the personalcomputer.

[0154] As described above, by combining the ability of the device andthe ability of the device driver, the ability of the device can beraised and the advanced function can be provided to the user.

[0155] Naturally, after the user selected the devices, the devices whichare displayed so that they can be realized by the device drivers need tobe set by the device drivers.

[0156] (Other embodiments)

[0157] Although the embodiment has been described with respect to thecase where the selecting reference of the device drivers has been set tothe order from the server, the device driver can be also selected fromthe latest client or the latest device driver. When the updating of thedevice driver occurs, by executing the present process, the abilityinformation of the latest device driver can be also reflected.

[0158] A processing procedure for retrieving a new device driver willnow be described with reference to a flowchart of FIG. 23.

[0159]FIG. 23 is the flowchart showing an example of a device driverretrieval processing procedure in the server and client according to theinvention. S2301 to S2306 denote processing steps.

[0160] It is assumed that the present process is started in the casewhere the device is connected to the network or the case where thedevice driver is updated.

[0161] First, in step S2301, the presence or absence of the devicedriver in the server and client on the network is identified by usingthe driver command in the data 803 shown in FIG. 8.

[0162] In next step S2302, the server or client having the device driveris identified. In step S2303, versions of the device drivers aresequentially inquired from the relevant terminals.

[0163] In step S2304, whether the inquiry processes for all terminalshave been completed or not is discriminated. If NO, the next terminal isselected in step S2305.

[0164] If the processes for all terminals are finished in step S2304,the ability information of the device driver is inquired from theterminal having the latest device driver and the ability information isobtained in step S2306. The processes are finished.

[0165] According to the embodiment, by combining the abilities of thedevice and the device driver and registering the combined abilityinformation into the server, the adaptivity of the retrieval conditionwhich is sent from the client can be raised. Thus, the result in whichthe selecting range of the device has been widened and the adaptivity tothe retrieval condition has been raised can be provided to the user.

[0166] A construction of a data processing program which can be read outby the network system including the server, client, devices, and thelike according to the invention will now be described hereinbelow withreference to a memory map shown in FIG. 24.

[0167]FIG. 24 is a diagram for explaining the memory map in a memorymedium for storing various data processing programs which can be readout by the network system including the server, client, devices, and thelike according to the invention.

[0168] Although not shown, there is also a case where information formanaging the programs which are stored in the memory medium, forexample, version information, implementor, and the like are also storedand information which depends on the OS or the like on the programreading side, for example, icons or the like for identifying anddisplaying the programs are also stored.

[0169] Further, data which depends on the various programs is alsomanaged in the directory. There is also a case where a program forinstalling various programs into a computer and, if the installationprogram has been compressed, a decompressing program or the like arealso stored.

[0170] The functions shown in FIGS. 15 to 21 and 23 in the embodimentcan be also executed by a host computer in accordance with a programwhich is installed from the outside. In this case, the invention is alsoapplied to a case where an information group including the program issupplied to an output apparatus from a memory medium such as CD-ROM,flash memory, FD, or the like or from an external memory medium throughthe network.

[0171] The objects of the invention are also obviously accomplished by amethod whereby a memory medium in which program codes of software forrealizing the functions of the foregoing embodiments have been recordedas mentioned above is supplied to a system or an apparatus, and acomputer (or a CPU or an MPU) of the system or apparatus reads out andexecutes the program codes stored in the memory medium.

[0172] In this case, the program codes themselves read out from thememory medium realize the novel functions of the invention and thememory medium in which the program codes have been stored constructs theinvention.

[0173] As a memory medium for supplying the program codes, for example,it is possible to use a floppy disk, a hard disk, an optical disk, amagnetooptic disk, a CD-ROM, a CD-R, a magnetic tape, a non-volatilememory card, an ROM, an EEPROM, or the like.

[0174] The invention incorporates not only a case where the computerexecutes the read-out program codes, so that the functions of theforegoing embodiments are realized but also a case where on the basis ofinstructions of the program codes, the OS (Operating System) or the likewhich operates on the computer executes a part or all of the actualprocesses, and the functions of the foregoing embodiments are realizedby those processes.

[0175] Further, the invention also incorporates a case where the programcodes read out from the memory medium are written into a memory equippedfor a function expanding board inserted into a computer or a functionexpanding unit connected to a computer and, thereafter, a CPU or thelike equipped for the function expanding board or function expandingunit executes a part or all of the actual processes on the basis ofinstructions of the program codes, and the functions of the foregoingembodiments are realized by those processes.

[0176] As described above, according to the above embodiments, bycombining the ability information of each device connected to thenetwork and the ability information of the device drivers andregistering the combined ability information as an ability of the deviceinto the server, the adaptivities of the selectable devices according tothe device retrieval condition from the client are presented to theuser, so that there are effects such that the selecting range of thedevices which can be selected in the whole system by the user is widenedand the desired devices can be freely selected from a plurality ofdevices which conform with the retrieval condition.

What is claimed is:
 1. A server which can communicate with a client anda device, comprising: retrieval means for retrieving the device bycomparing information obtained by combining device information of saiddevice and ability information of a device driver for said device whichis executed by said client with a retrieval condition which is receivedfrom said client and used for selecting said device; and notifying meansfor notifying said client of a retrieval result of said retrieval means.2. A server according to claim 1 , further comprising: receiving meansfor receiving the information obtained by combining the deviceinformation of said device and the ability information of the devicedriver for said device which is executed by said client from saiddevice; and registering means for registering the information receivedby said receiving means into a storage.
 3. A server according to claim 1, further comprising: receiving means for receiving the deviceinformation of said device from said device; first registering means forregistering the device information received by said receiving means intoa first storage; and second registering means for registering theability information of said device driver into a second storage.
 4. Aserver according to claim 3 , wherein the device information stored insaid first storage and the ability information stored in said secondstorage are combined.
 5. A server according to claim 1 , furthercomprising: registering means for registering the information obtainedby combining the device information of said device and the abilityinformation of the device driver for said device which is executed bysaid client into a storage.
 6. A server according to claim 1 , whereinsaid retrieval condition includes a plurality of conditions, saidretrieval means compares the information obtained by combining thedevice information of said device and the ability information of thedevice driver for said device which is executed by said client with eachof said conditions, and said notifying means notifies said client of anadaptivity based on the number of adapted conditions among saidplurality of conditions included in said retrieval condition.
 7. Aserver according to claim 1 , wherein said device information isinformation regarding one of a duplex print, an N-up print, a jobcopy, apagecopy, an OHP insertion print, a resolution, the number of printpages, a paper size, and a status of said device.
 8. A server accordingto claim 1 , wherein the comparison by said retrieval means is executedwith respect to a plurality of devices.
 9. A client which cancommunicate with a server, comprising: transmitting means fortransmitting a retrieval condition for selecting a device to saidserver; receiving means for receiving, from said server, a retrievalresult obtained by retrieving the device by comparing informationobtained by combining device information of said device and abilityinformation of a device driver for said device which is executed by saidclient with a retrieval condition which is received from said client andused for selecting said device; and display control means for allowing acomparison result received by said receiving means to be displayed by adisplay.
 10. A client according to claim 9 , further comprising inputmeans for inputting a retrieval item and a value which is designated bysaid retrieval item.
 11. A client according to claim 9 , wherein saidinput means can input a plurality of retrieval items.
 12. A clientaccording to claim 9 , wherein said receiving means receives anadaptivity based on the number of adapted conditions among a pluralityof conditions included in said retrieval condition, and said displaycontrol means allows said adaptivity to be displayed by said display.13. A client according to claim 10 , wherein said retrieval item relatesto one of a duplex print, an N-up print, a jobcopy, a pagecopy, an OHPinsertion print, a resolution, the number of print pages, and a papersize.
 14. A device which can communicate with a server for transmittinga retrieval result to a client with respect to a retrieval conditionwhich is sent from said client and used for selecting said device,comprising: transmitting means for transmitting information obtained bycombining device information of said device and ability information of adevice driver for said device which is executed by said client to saiddevice.
 15. A device according to claim 14 , further comprising: firststoring means for storing the device information of said device; secondstoring means for storing the ability information of said device driver;and combining means for combining the device information stored in saidfirst storing means and the ability information stored in said secondstoring means.
 16. A device according to claim 14 , further comprisinginquiring means for inquiring of an external apparatus about the abilityinformation of said device driver.
 17. A device according to claim 14 ,wherein said device information is information regarding one of a duplexprint, an N-up print, a jobcopy, a pagecopy, an OHP insertion print, aresolution, the number of print pages, a paper size, and a status ofsaid device.
 18. A device according to claim 14 , wherein said device isone of a printer, a copy machine, a hybrid machine, and a scanner.
 19. Aprint system constructed by a device, a client, and a server,comprising: first transfer means for transferring information obtainedby combining device information of said device and ability informationof a device driver for said device which is executed by said client tosaid server from said device; second transfer means for transferring aretrieval condition for selecting said device to said server from saidclient; retrieval means for retrieving the device by comparing theinformation obtained by combining the device information of said deviceand the ability information of the device driver for said device whichis executed by said client with the retrieval condition which isreceived from said client and used for selecting said device; and thirdtransfer means for transferring a retrieval result by said retrievalmeans to said client from said server.
 20. A print system constructed bya device, a client, and a server, comprising: first transfer means fortransferring device information of said device to said server from saiddevice; second transfer means for transferring a retrieval condition forselecting said device to said server from said client; retrieval meansfor retrieving the device by comparing information obtained by combiningthe device information which is transferred by said first transfer meansand ability information of a device driver for said device which isexecuted by said client with the retrieval condition which is receivedfrom said client and used for selecting said device; and third transfermeans for transferring a retrieval result by said retrieval means tosaid client from said server.
 21. An information processing method whichis executed by a server which can communicate with a client and adevice, comprising: a retrieval step of retrieving the device bycomparing information obtained by combining device information of saiddevice and ability information of a device driver for said device whichis executed by said client with a retrieval condition which is receivedfrom said client and used for selecting said device; and a notifyingstep of notifying said client of a retrieval result by said retrievalstep.
 22. A method according to claim 21 , further comprising: areceiving step of receiving, from said device, the information obtainedby combining the device information of said device and the abilityinformation of the device driver for said device which is executed bysaid client; and a registering step of registering the informationreceived by said receiving step into a storage.
 23. A method accordingto claim 21 , further comprising: a receiving step of receiving thedevice information of said device from said device; a first registeringstep of registering the device information received by said receivingstep into a first storage; and a second registering step of registeringthe ability information of said device driver into a second storage. 24.A method according to claim 23 , wherein the device information storedin said first storage and the ability information stored in said secondstorage are combined.
 25. A method according to claim 21 , furthercomprising a registering step of registering the information obtained bycombining the device information of said device and the abilityinformation of the device driver for said device which is executed bysaid client into a storage.
 26. A method according to claim 21 , whereinsaid retrieval condition includes a plurality of conditions, in saidretrieval step, the information obtained by combining the deviceinformation of said device and the ability information of the devicedriver for said device which is executed by said client is compared witheach of said conditions, and in said notifying step, said client isnotified of an adaptivity based on the number of adapted conditionsamong said plurality of conditions included in said retrieval condition.27. A method according to claim 21 , wherein said device information isinformation regarding one of a duplex print, an N-up print, a jobcopy, apagecopy, an OHP insertion print, a resolution, the number of printpages, a paper size, and a status of said device.
 28. A method accordingto claim 21 , wherein the comparison by said retrieval step is executedwith respect to a plurality of devices.
 29. An information processingmethod which is executed by a client which can communicate with aserver, comprising: a transmitting step of transmitting a retrievalcondition for selecting a device to said server; a receiving step ofreceiving, from said server, a retrieval result obtained by retrievingthe device by comparing information obtained by combining deviceinformation of said device and ability information of a device driverfor said device which is executed by said client with the retrievalcondition which is received from said client and used for selecting saiddevice; and a display control step of allowing a comparison resultreceived by said receiving step to be displayed by a display.
 30. Amethod according to claim 29 , further comprising an input step ofinputting a retrieval item and a value which is designated by saidretrieval item.
 31. A method according to claim 29 , wherein in saidinput step, a plurality of retrieval items can be inputted.
 32. A methodaccording to claim 29 , wherein in said receiving step, an adaptivitybased on the number of adapted conditions among a plurality ofconditions included in said retrieval condition is received, and in saiddisplay control step, said adaptivity is displayed by said display. 33.A method according to claim 30 , wherein said retrieval item relates toone of a duplex print, an N-up print, a jobcopy, a pagecopy, an OHPinsertion print, a resolution, the number of print pages, and a papersize.
 34. An information processing method which is executed by a devicewhich can communicate with a server for transmitting a retrieval resultto a client with respect to a retrieval condition which is sent fromsaid client and used for selecting said device, comprising: atransmitting step of transmitting information obtained by combiningdevice information of said device and ability information of a devicedriver for said device which is executed by said client to said device.35. A method according to claim 34 , further comprising a combining stepof combining said device information stored in a first storage and saidability information stored in a second storage.
 36. A method accordingto claim 34 , further comprising an inquiring step of inquiring of anexternal apparatus about the ability information of said device driver.37. A method according to claim 34 , wherein said device information isinformation regarding one of a duplex print, an N-up print, a jobcopy, apagecopy, an OHP insertion print, a resolution, the number of printpages, a paper size, and a status of said device.
 38. A method accordingto claim 34 , wherein said device is one of a printer, a copy machine, ahybrid machine, and a scanner.
 39. An information processing methodwhich is executed by a print system constructed by a device, a client,and a server, comprising: a first transfer step of transferringinformation obtained by combining device information of said device andability information of a device driver for said device which is executedby said client to said server from said device; a second transfer stepof transferring a retrieval condition for selecting said device to saidserver from said client; a retrieval step of retrieving the device bycomparing the information obtained by combining the device informationof said device and the ability information of the device driver for saiddevice which is executed by said client with the retrieval conditionwhich is received from said client and used for selecting said device;and a third transfer step of transferring a retrieval result by saidretrieval step to said client from said server.
 40. An informationprocessing method which is executed by a print system constructed by adevice, a client, and a server, comprising: a first transfer step oftransferring device information of said device to said server from saiddevice; a second transfer step of transferring a retrieval condition forselecting said device to said server from said client; a retrieval stepof retrieving the device by comparing information obtained by combiningthe device information which is transferred by said first transfer stepand ability information of a device driver for said device which isexecuted by said client with the retrieval condition which is receivedfrom said client and used for selecting said device; and a thirdtransfer step of transferring a retrieval result by said retrieval stepto said client from said server.
 41. An information processing programwhich is executed by a server which can communicate with a client and adevice, wherein said program allows a computer to execute: a retrievalstep of retrieving the device by comparing information obtained bycombining device information of said device and ability information of adevice driver for said device which is executed by said client with aretrieval condition which is received from said client and used forselecting said device; and a notifying step of notifying said client ofa retrieval result by said retrieval step.
 42. A program according toclaim 41 , wherein said program allows the computer to execute: areceiving step of receiving, from said device, the information obtainedby combining the device information of said device and the abilityinformation of the device driver for said device which is executed bysaid client; and a registering step of registering the informationreceived by said receiving step into a storage.
 43. A program accordingto claim 41 , wherein said program allows the computer to execute: areceiving step of receiving the device information of said device fromsaid device; a first registering step of registering the deviceinformation received by said receiving step into a first storage; and asecond registering step of registering the ability information of saiddevice driver into a second storage.
 44. A program according to claim 43, wherein the device information stored in said first storage and theability information stored in said second storage are combined.
 45. Aprogram according to claim 41 , wherein said program allows the computerto execute a registering step of registering the information obtained bycombining the device information of said device and the abilityinformation of the device driver for said device which is executed bysaid client into a storage.
 46. A program according to claim 41 ,wherein said retrieval condition includes a plurality of conditions, insaid retrieval step, the information obtained by combining the deviceinformation of said device and the ability information of the devicedriver for said device which is executed by said client is compared witheach of said conditions, and in said notifying step, said client isnotified of an adaptivity based on the number of adapted conditionsamong said plurality of conditions included in said retrieval condition.47. A program according to claim 41 , wherein said device information isinformation regarding one of a duplex print, an N-up print, a jobcopy, apagecopy, an OHP insertion print, a resolution, the number of printpages, a paper size, and a status of said device.
 48. A programaccording to claim 41 , wherein the comparison by said retrieval step isexecuted with respect to a plurality of devices.
 49. An informationprocessing program which is executed by a client which can communicatewith a server, wherein said program allows a computer to execute: atransmitting step of transmitting a retrieval condition for selecting adevice to said server; a receiving step of receiving, from said server,a retrieval result obtained by retrieving the device by comparinginformation obtained by combining device information of said device andability information of a device driver for said device which is executedby said client with the retrieval condition which is received from saidclient and used for selecting said device; and a display control step ofallowing a comparison result received by said receiving step to bedisplayed by a display.
 50. A program according to claim 49 , whereinsaid program allows the computer to execute an input step of inputting aretrieval item and a value which is designated by said retrieval item.51. A program according to claim 49 , wherein in said input step, aplurality of retrieval items can be inputted.
 52. A program according toclaim 49 , wherein in said receiving step, an adaptivity based on thenumber of adapted conditions among a plurality of conditions included insaid retrieval condition is received, and in said display control step,said adaptivity is displayed by said display.
 53. A program according toclaim 50 , wherein said retrieval item relates to one of a duplex print,an N-up print, a jobcopy, a pagecopy, an OHP insertion print, aresolution, the number of print pages, and a paper size.
 54. Aninformation processing program which is executed by a device which cancommunicate with a server for transmitting a retrieval result to aclient with respect to a retrieval condition which is sent from saidclient and used for selecting said device, wherein said program allows acomputer to execute: a transmitting step of transmitting informationobtained by combining device information of said device and abilityinformation of a device driver for said device which is executed by saidclient to said device.
 55. A program according to claim 54 , whereinsaid program allows the computer to execute a combining step ofcombining said device information stored in a first storage and saidability information stored in a second storage.
 56. A program accordingto claim 54 , wherein said program allows the computer to execute aninquiring step of inquiring of an external apparatus about the abilityinformation of said device driver.
 57. A program according to claim 54 ,wherein said device information is information regarding one of a duplexprint, an N-up print, a jobcopy, a pagecopy, an OHP insertion print, aresolution, the number of print pages, a paper size, and a status ofsaid device.
 58. A program according to claim 54 , wherein said deviceis one of a printer, a copy machine, a hybrid machine, and a scanner.59. An information processing program which is executed by a printsystem constructed by a device, a client, and a server, wherein saidprogram allows a computer to execute: a first transfer step oftransferring information obtained by combining device information ofsaid device and ability information of a device driver for said devicewhich is executed by said client to said server from said device; asecond transfer step of transferring a retrieval condition for selectingsaid device to said server from said client; a retrieval step ofretrieving the device by comparing the information obtained by combiningthe device information of said device and the ability information of thedevice driver for said device which is executed by said client with theretrieval condition which is received from said client and used forselecting said device; and a third transfer step of transferring aretrieval result by said retrieval step to said client from said server.60. An information processing program which is executed by a printsystem constructed by a device, a client, and a server, wherein saidprogram allows a computer to execute: a first transfer step oftransferring device information of said device to said server from saiddevice; a second transfer step of transferring a retrieval condition forselecting said device to said server from said client; a retrieval stepof retrieving the device by comparing information obtained by combiningthe device information which is transferred by said first transfer stepand ability information of a device driver for said device which isexecuted by said client with the retrieval condition which is receivedfrom said client and used for selecting said device; and a thirdtransfer step of transferring a retrieval result by said retrieval stepto said client from said server.
 61. A computer-readable memory mediumwhich stores an information processing program that is executed by aserver which can communicate with a client and a device, wherein saidinformation processing program allows a computer to execute: a retrievalstep of retrieving the device by comparing information obtained bycombining device information of said device and ability information of adevice driver for said device which is executed by said client with aretrieval condition which is received from said client and used forselecting said device; and a notifying step of notifying said client ofa retrieval result by said retrieval step.
 62. A medium according toclaim 61 , wherein said program allows the computer to execute: areceiving step of receiving, from said device, the information obtainedby combining the device information of said device and the abilityinformation of the device driver for said device which is executed bysaid client; and a registering step of registering the informationreceived by said receiving step into a storage.
 63. A medium accordingto claim 61 , wherein said program allows the computer to execute: areceiving step of receiving the device information of said device fromsaid device; a first registering step of registering the deviceinformation received by said receiving step into a first storage; and asecond registering step of registering the ability information of saiddevice driver into a second storage.
 64. A medium according to claim 63, wherein the device information stored in said first storage and theability information stored in said second storage are combined.
 65. Amedium according to claim 61 , wherein said program allows the computerto execute a registering step of registering the information obtained bycombining the device information of said device and the abilityinformation of the device driver for said device which is executed bysaid client into a storage.
 66. A medium according to claim 61 , whereinsaid retrieval condition includes a plurality of conditions, in saidretrieval step, the information obtained by combining the deviceinformation of said device and the ability information of the devicedriver for said device which is executed by said client is compared witheach of said conditions, and in said notifying step, said client isnotified of an adaptivity based on the number of adapted conditionsamong said plurality of conditions included in said retrieval condition.67. A medium according to claim 61 , wherein said device information isinformation regarding one of a duplex print, an N-up print, a jobcopy, apagecopy, an OHP insertion print, a resolution, the number of printpages, a paper size, and a status of said device.
 68. A medium accordingto claim 61 , wherein the comparison by said retrieval step is executedwith respect to a plurality of devices.
 69. A computer-readable memorymedium which stores an information processing program that is executedby a client which can communicate with a server, wherein saidinformation processing program allows a computer to execute: atransmitting step of transmitting a retrieval condition for selecting adevice to said server; a receiving step of receiving, from said server,a retrieval result obtained by retrieving the device by comparinginformation obtained by combining device information of said device andability information of a device driver for said device which is executedby said client with the retrieval condition which is received from saidclient and used for selecting said device; and a display control step ofallowing a comparison result received by said receiving step to bedisplayed by a display.
 70. A medium according to claim 69 , whereinsaid program allows the computer to execute an input step of inputting aretrieval item and a value which is designated by said retrieval item.71. A medium according to claim 69 , wherein a plurality of retrievalitems can be inputted.
 72. A medium according to claim 69 , wherein insaid receiving step, an adaptivity based on the number of adaptedconditions among a plurality of conditions included in said retrievalcondition is received, and in said display control step, said adaptivityis displayed by said display.
 73. A medium according to claim 70 ,wherein said retrieval item relates to one of a duplex print, an N-upprint, a jobcopy, a pagecopy, an OHP insertion print, a resolution, thenumber of print pages, and a paper size.